#ifndef CELL_H_JM_20120819
#define CELL_H_JM_20120819

#include "BaseCell.h"

namespace jm4bbx {

	template<typename T>
	class Cell : public BaseCell {
	public:
		typedef T CellType;
		CellType getValue() const { return cellValue_; }
		void setValue(const CellType& val) { cellValue_ = val; }

		virtual void acceptVisitor(CellVisitor* visitor) {
			visitor->visit(this);
		}

	private:
		CellType cellValue_;
	};

} // namespace jm4bbx

#endif
